package com.caishi.lkx.order.ienum.status;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;

/**
 * @author by keray
 * date:2019/7/29 10:21
 */
public enum OrderStatus {
    waitPay("等待支付", 1),

    /**
     * 正常成功流程
     */
    // 已经支付成功
    waitSend("待发货", 10),
    // 代签收
    waitSign("待签收", 11),
    // 成功
    success("成功", 12),

    /**
     * 正常失败流程
     */
    applyRefund("申请退款中", 20),
    // 统一退款，退款在流程中
    refunding("退款中", 21),
    // 拒绝退款
    refundFail("退款失败", 22),
    // 统一退款并且退款成功
    refundSuccess("退款完成", 23),

    /**
     * 意外流程
     */
    cancel("已取消", 30),
    expired("已过期", 31),
    delete("用户删除", 32);
    @Getter
    final
    String desc;

    @EnumValue
    @Getter
    final
    Integer code;

    OrderStatus(String desc, Integer code) {
        this.desc = desc;
        this.code = code;
    }

}
